package projeto;

import org.junit.*;

public class testaBiblioteca {
	
	Biblioteca bib;
	Livro livro1, livro2, livro3;

	@Before
	public void criaObjetos() throws Exception{
		bib = new Biblioteca();
		livro1 = new Livro("Calculo Diferencial e integral 1", "Thomas", "Teste", 1999);
		livro2 = new Livro("Think Python", "Downey", "O'Reilly", 2012);
		livro3 = new Livro("Algebra Vetorial e Geometria Analitica", "Paulo Winterle", "Teste2", 1997);
		
		
	}
	
	@Test
	public void testaAdicionaLivro() {
		bib.adicionaLivro(livro1);
		Assert.assertTrue(bib.livros.contains(livro1));
		
		bib.adicionaLivro(livro2);
		Assert.assertTrue(bib.livros.contains(livro2));
		
		bib.adicionaLivro(livro3);
		Assert.assertTrue(bib.livros.contains(livro3));
	}
	
	@Test
	public void testaRemoveLivro(){
		bib.adicionaLivro(livro1);
		bib.adicionaLivro(livro2);
		bib.adicionaLivro(livro3);
		
		bib.removeLivro(livro1);
		Assert.assertFalse(bib.livros.contains(livro1));
		
		bib.removeLivro(livro2);
		Assert.assertFalse(bib.livros.contains(livro2));
		
		bib.removeLivro(livro3);
		Assert.assertFalse(bib.livros.contains(livro3));
	}
	
	@Test
	public void testaPesquisaLivro(){
		bib.adicionaLivro(livro1);
		bib.adicionaLivro(livro2);
		bib.adicionaLivro(livro3);
		
		Assert.assertEquals(livro1, bib.pesquisaLivro("Calculo Diferencial e integral 1"));
		Assert.assertEquals(livro2, bib.pesquisaLivro("Think Python"));
		Assert.assertEquals(livro3, bib.pesquisaLivro("Algebra Vetorial e Geometria Analitica"));
	}
}
